package cn.siat.gene.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.siat.common.core.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 项目主对象 design_t_b_project_main
 * 
 * @author siat
 * @date 2022-10-08
 */
@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
@ToString
@TableName("design_t_b_project_main")
public class
DesignTBProjectMain implements Serializable{
    private static final long serialVersionUID = 1L;

    /** 唯一标识 */
    @TableId(value = "id",type= IdType.ASSIGN_ID)
    private String id;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 描述 */
    @Excel(name = "描述")
    private String projectDescription;

    /** 方案数 */
    @Excel(name = "方案数")
    private Integer projectProgrammeNumber;

    /** 项目成员数 */
    @Excel(name = "项目成员数")
    private Integer projectMemberNumber;

    /** 是否删除:0 删除 1未删除 */
    @Excel(name = "是否删除:0 删除 1未删除")
    private Integer projectIsDelete;

    /** 删除原因 */
    @Excel(name = "删除原因")
    private String deleteReason;

    /*查看时间*/
    @Excel(name = "查看时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone ="GMT+8")
    private Date viewedTime;

    /** 创建员工 */
    @Excel(name = "创建员工id")
    @TableField(fill = FieldFill.INSERT)
    private String createStaffNo;

    /** 创建时间 */
    @Excel(name = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone ="GMT+8")
//    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 修改员工 */
    @Excel(name = "修改员工id")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateStaffNo;

    /** 修改时间 */
    @Excel(name = "修改时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone ="GMT+8")
//    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 创建员工 */
    @Excel(name = "创建员工昵称")
    @TableField(fill = FieldFill.INSERT)
    private String createStaffName;

    /* 创建员工id集合 */
    @TableField(exist = false)
    private List<String> createStaffNoList;

    /* 当前登录员工userId */
    @TableField(exist = false)
    private String loginStaffId;

    /* 当前登录员工项目权限 */
    @TableField(exist = false)
    private Integer permission;

    /* 当前登录员工项目成员身份 */
    @TableField(exist = false)
    private Integer status;

    /* 当前方案总数 */
    @TableField(exist = false)
    private Integer programmes;

    /* 当前成员数 */
    @TableField(exist = false)
    private Integer members;
}
